This invention relates generally to electronic electricity meters, and more particularly to methods and apparatus for preserving the security of programmable electronic electricity meters.
Modern digital electronic electricity meters require a high level of security of operation to prevent theft of service by meter tampering, including the possibility of tampering with the meter data or with the many programmable parameters in the meter which control meter operation and can significantly effect the billing quantities calculated by the meter. It has been a practice in some areas to control the changing of programmed meter parameters by preventing or severely constraining these changes. In practice this process is very onerous, as there are valid reasons to revise these parameters from time to time.
In at least one known type of electronic electricity meter, unauthorized program changes have been prevented by use of a feature known as a seal flag. Once a meter has been programmed by an authorized agent the seal flag feature is set, preventing further changes to controlled parameters. The meter design incorporates the selection of which tables are sealed and which are not. Although these meters provide security from unauthorized program changes, they lack programming flexibility in those cases in which there is a legitimate need to modify metering parameters.
In at least one known type of electronic electricity meter, a record of the date last programmed and a programmer ID is kept. It is also known to use tables to log event histories in meters. These meters provide the flexibility needed to modify metering parameters. However, there exists the possibility of unauthorized parties tampering with the log files themselves.
In one aspect, a method for creating a secure program history log for a programmable device including a microprocessor, at least one communications port for communicating with the microprocessor and at least one memory device electrically connected to the microprocessor and including a program history log is provided. The method comprises communicating program parameters to the microprocessor, creating a log entry utilizing the microprocessor and the program parameters, and writing the log entry into the program history log utilizing the microprocessor.
In another aspect, a system for creating a secure program history log for a programmable device is provided. The system comprises at least one communications port, said communications port configured to receive inputs comprising program parameters, a microprocessor configured to receive said program parameters from said communications port and create a log entry based on said program parameters, and at least one memory device electrically connected to said microprocessor and comprising said program history log, said microprocessor further configured to write said log entry into said program history log, thereby protecting said program history log from manipulation via direct communication from said communications port.
In still another aspect, an electronic electricity meter is provided that comprises a communications port, said communications port configured to receive meter input parameters, a microprocessor configured to receive said meter input parameters from said communications port and determine energy consumption based upon said meter input parameters, said microprocessor further configured to create a program history log entry when meter parameters are received, and at least one memory device electrically connected to said microprocessor and comprising a program history log, said microprocessor further configured to write said log entry into said program history log.
In yet another aspect, an electronic electricity meter comprising a microprocessor, at least one memory device and a communications port is provided. The microprocessor is configured to determine energy consumption based upon at least one meter input parameter. The at least one memory device is electrically connected to said microprocessor and comprises a program history log. The communications port is configured to receive said at least one meter input parameter for use by said microprocessor. The microprocessor is configured to create a program history log entry and configured to write said log entry into said program history log when said at least one meter parameter is received, said program history log comprising at least one of an entry sequence number, a transaction number, a date and time stamp, and a table identifier.